/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package modele.combinaison;

import java.util.Map;

/**
 * Classe Multiple : Représente les combinaisons réalisées en selectionnant
 * plusieurs dés de même valeur. (Brelan, Carré, et Yams)
 * @author Khémon Beh & Florian Minin
 */
public abstract class Multiple extends CombinaisonComplexe {

    //Valeur d'un dé composant le multiple
    protected int valDes;

    public Multiple(){
        //Initialisation à 0 au cas où l'utilisateur n'a pas de multiple
        valDes = 0;
    }

    /**
     * On récupère la valeurs des dés qui constituent le multiple
     * Si on ne trouve pas le nombre de dés correspondant a la combinaison,
     * on définit la valeur des dés du multiple a zéro
     * @param valeursDes <tt>Map</tt> associant pour chaque valeur de dé
     * le nombre de dés selectionnés.
     */
    public void recupereValeurDes(Map<Integer, Integer> valeursDes) {
        for (int cle : valeursDes.keySet()) {
            if (valeursDes.get(cle) >= nbDes()) {
                valDes = cle;
                break;
            } else {
                valDes = 0;
            }
        }
    }

    /**
     * Retourne le nombre de dé nécéssaires a la réalisation de la
     * combinaison
     * @return <tt>int</tt> correspondant au nombre de dés.
     */
    public abstract int nbDes();
}
